package com.apes.fn.crm.customer;

import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/***
 * 约定：
 *  1. $ -> .
 *  2. $$ -> .*
 */

@Deprecated
public class FnCustomerCar {

    private Long id; // 档案id

    private Long createdAt; // 创建时间

    private Long updatedAt; //更新时间

    private String carLicense; // 车牌

    private Long vin; // 车架号

    private String jekunModelCode; // 车型配置编码
    private String carModelLabel; // 车型配置名称

    private String vendorCode; // 接入商编码
    private String vendorName; // 接入商名称

    private String storeCode; //门店编码
    private String storeName; //门店名称

    private String operatorCode; // 操作员名称
    private String operatorName; // 操作员名称

    private String cityCode; //城市编码
    private String cityName; //城市名称

    private String companyCode; //公司编码

    private String status; // 状态
    private String statusLabel; // 状态名称


    private String pic1$path; //建档车头照片
    private String pic2$path; //建档铭牌照片

    private String pic36$path; //车档行驶证正面
    private String pic37$path; //车档行驶证反面

    private String pic38$path; //车档车尾照片

    private String unitClient$$; // 单位客户


    private String vendorUsers$$; // 会员信息（数组,字段参照FnCustomer）

    // 保险信息
    private String insuranceTrack$lastForceEndDate; //交强险到期日期
    private String insuranceTrack$lastCommerceEndDate; //商业险到期日期

    private String mileage; // 行驶里程

    static public String[] getDeclaredFields() {
        Field[] fields = FnCustomerCar.class.getDeclaredFields();
        return Arrays.stream(fields).map(field -> field.getName().replaceAll("\\$\\$",".*").replaceAll("\\$", ".")).toArray(String[]::new);
    }

    static public Map<String, String> getDeclaredFieldType() {
        Map m = new HashMap();
        Field[] fields = FnCustomerCar.class.getDeclaredFields();
        Arrays.stream(fields).forEach(field -> {
            m.put(field.getName(), field.getGenericType().getTypeName());
        });
        return m;
    }
}
